home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / Information / CSMP Digest / volume 1 / csmp-v1-117.txt < prev    next >
Encoding:
Text File  |  1994-12-08  |  45.0 KB  |  1,177 lines  |  [TEXT/R*ch]

  1. C.S.M.P. Digest             Fri, 19 Jun 92       Volume 1 : Issue 117
  2.  
  3. Today's Topics:
  4.  
  5.     Think Pascal Scrolling DITL's
  6.     Questing about Think C debugger and After Dark Modules
  7.     Translation Manager? (Re: How to use XTND in programs?REFRESH
  8.     Memory Mapping of Video
  9.     list manager alternative
  10.     Any small sample code in 'C'?
  11.     $$: Where/how do I find a consultant?
  12.     PBControl / MacTCP
  13.     How to update the whole screen???
  14.     Color icons in menus?  How?
  15.     "Inside Macintosh" source recommendations?
  16.     How to tell if a printer supports Postscript?
  17.  
  18.  
  19. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  20.  
  21. These digests are available (by using FTP, account anonymous, your email
  22. address as password) in the pub/mac/csmp-digest directory on ftp.cs.uoregon.
  23. edu.  This is also the home of the comp.sys.mac.programmer Frequently Asked
  24. Questions list.  The last several issues of the digest are available from
  25. sumex-aim.stanford.edu as well.
  26.  
  27. These digests are also available via email.  Just send a note saying that you
  28. want to be on the digest mailing list to mkelly@cs.uoregon.edu, and you will
  29. automatically receive each new digest as it is created.
  30.  
  31. The digest is a collection of articles from the internet newsgroup comp.sys.
  32. mac.programmer.  It is designed for people who read c.s.m.p. semi-regularly
  33. and want an archive of the discussions.  If you don't know what a newsgroup
  34. is, you probably don't have access to it.  Ask your systems administrator(s)
  35. for details.  (This means you can't post questions to the digest.)
  36.  
  37. The articles in these digests are taken directly from comp.sys.mac.programmer.
  38. They are not edited; all articles included in this digest are in their original
  39. posted form.  The only articles that are -not- included in these digests are
  40. those which didn't receive any replies (except those that give information
  41. rather than ask a question).  All replies to each article are concatenated
  42. onto the original article in the order in which they were received.  Article
  43. threads are not added to the digests until the last article added to the
  44. thread is at least one month old (this is to ensure that the thread is dead
  45. before adding it to the digests).
  46.  
  47. Send administrative mail to mkelly@cs.uoregon.edu.
  48.  
  49. -------------------------------------------------------
  50.  
  51. Subject: Think Pascal Scrolling DITL's
  52. From: paulm@steelmel.bhp.com.au
  53. Date: 18 May 92 15:38:39 +1000
  54. Organization: BHP Steel Group
  55.  
  56. For some time I have been coming to grips with Think Pascal's (V 4.0, system
  57. 6.0.7 on a MacPlus) dialog classes.   (I like the joke in the user manual about
  58. having an 'aha' experience after a couple of weeks).  
  59.  
  60. I am now trying to implement a scrolling DITL (The ones where you click on a
  61. word and it appears in a text edit box underneath).  I originally had a static
  62. text DITL.  When I ran my program this appeared without any worries.  I changed
  63. the static text to @$CScrollPane$ScPn$1030 as I believe is necessary.  I copied
  64. the ScPn resource across from the 'New Class Demo' program that came with Think
  65. Pascal, and made sure that the resource id was correct.  However, when I run my
  66. program, I get a vertical scroll bar, and that's all.  The DITL is not outlined
  67. as they usually are.    Can anyone suggest what it is that I am not doing
  68. correctly?
  69.  
  70. Also, a couple more questions: How do I tell the TCL which values to display in
  71. the scrolling pane?  And how do I link a text edit item to a scrolling pane? 
  72. That is, if I have two text edit boxes, how does the TCL know which text edit
  73. item to display the values in?
  74.  
  75. Thank you for your assistance.
  76.  
  77.  
  78. Paul. 
  79.  
  80. ---------------------------
  81.  
  82. From: darin_tomack.osbu_north@XEROX.COM
  83. Subject: Questing about Think C debugger and After Dark Modules
  84. Date: 12 May 92 19:17:34 GMT
  85.  
  86.  
  87. Okay, I'm new to Mac programming (but not C programming or programming in
  88. general) so please forgive my naivete about the Mac environment.
  89.  
  90. I figured a nice little project to start with - to help boost my morale and get
  91. me really going - would be to write a nice little After Dark module and play
  92. with for a while before working myself up to a couple other projects I have in
  93. mind.  The problem I'm having is that I can't figure out how, once I've gotten
  94. the thing together, I would debug it with the Think C debugger.  Since the AD
  95. module is Code Resource that get's "loaded" into AD when it is to be run, then
  96. doesn't that mean that I have to somehow get the Think C debugger to run
  97. "around" the whole AD application as well as my code resource?  Or do I have
  98. this all wrong and there is really a very simple way of doing this?
  99.  
  100. Perhaps a more general way of putting this is this:  Is there any way to debug
  101. a code resource that is not a standalone resource (ie. it makes calls into some
  102. other piece of code that loads it) where the loader is NOT part of the Think C
  103. Project?
  104.  
  105. Or is the answer that I am out of luck and I need to use something like
  106. MacBugs?  Also, as a side note, would I be any better off if I was trying to do
  107. this via MPW (SADE?) instead of using Think C?
  108.  
  109. Thanks,
  110.  
  111.     @darin
  112.  
  113. +++++++++++++++++++++++++++
  114.  
  115. From: mike@optimla.aimla.com (Mike Diehr)
  116. Organization: Philips Interactive Media
  117. Date: Thu, 14 May 92 16:24:07 GMT
  118.  
  119. In article <"12-May-92.12:17:34.PDT".*.Darin_C._Tomack.OSBU_North@Xerox.com> darin_tomack.osbu_north@XEROX.COM writes:
  120. >
  121. >Okay, I'm new to Mac programming (but not C programming or programming in
  122. >general) so please forgive my naivete about the Mac environment.
  123. >
  124. >I figured a nice little project to start with - to help boost my morale and get
  125. >me really going - would be to write a nice little After Dark module and play
  126. >with for a while before working myself up to a couple other projects I have in
  127. >mind.  The problem I'm having is that I can't figure out how, once I've gotten
  128. >the thing together, I would debug it with the Think C debugger.  Since the AD
  129. >module is Code Resource that get's "loaded" into AD when it is to be run, then
  130. >doesn't that mean that I have to somehow get the Think C debugger to run
  131. >"around" the whole AD application as well as my code resource?  Or do I have
  132. >this all wrong and there is really a very simple way of doing this?
  133. >
  134. >Perhaps a more general way of putting this is this:  Is there any way to debug
  135. >a code resource that is not a standalone resource (ie. it makes calls into some
  136. >other piece of code that loads it) where the loader is NOT part of the Think C
  137. >Project?
  138. >
  139. >Or is the answer that I am out of luck and I need to use something like
  140. >MacBugs?  Also, as a side note, would I be any better off if I was trying to do
  141. >this via MPW (SADE?) instead of using Think C?
  142. >
  143. >Thanks,
  144. >
  145. >    @darin
  146.  
  147. I have the same question, but with hypercard XCMDs.  My guess is that the
  148. answer is to create a dummy app in think C that will set up the required
  149. environment.  However, this seems like a lot of trouble to me...
  150.  
  151. - -mike
  152.  
  153. +++++++++++++++++++++++++++
  154.  
  155. From: daven@notable.com (Dave Newman)
  156. Date: 15 May 92 02:26:43 GMT
  157. Organization: Notable Technologies, Inc.
  158.  
  159.  
  160. In article <"12-May-92.12:17:34.PDT".*.Darin_C._Tomack.OSBU_North@Xerox.com> (comp.sys.mac.programmer), darin_tomack.osbu_north@XEROX.COM writes:
  161. | Perhaps a more general way of putting this is this:  Is there any way to debug
  162. | a code resource that is not a standalone resource (ie. it makes calls into some
  163. | other piece of code that loads it) where the loader is NOT part of the Think C
  164. | Project?
  165. | Or is the answer that I am out of luck and I need to use something like
  166. | MacBugs?  Also, as a side note, would I be any better off if I was trying to do
  167. | this via MPW (SADE?) instead of using Think C?
  168.  
  169. Unless After Dark provides a debugging testbench application for
  170. Think C that mimics the environment your AD module will run in, the
  171. answer is you'll have to use Macsbug, TMON Pro, or Jasik's The Debugger
  172. to do your debugging.
  173.  
  174. - --Dave
  175.  
  176. - -----------------------------------------------------------
  177. Dave Newman                 |  AOL:      AFC Tinman
  178. Artillery Spotter           |  CIS:      70743,3323
  179. Notable Technologies, Inc.  |  internet: daven@notable.com
  180. 510.208.4449                |  FAX:      510.444.4493
  181. - -----------------------------------------------------------
  182.  
  183. +++++++++++++++++++++++++++
  184.  
  185. From: potts@itl.itd.umich.edu (Paul Potts)
  186. Organization: Instructional Technology Laboratory, University of Michigan
  187. Date: Mon, 18 May 92 15:06:18 GMT
  188.  
  189. In article <1992May14.162407.27986@aimla.com> mike@optimla.aimla.com (Mike Diehr) writes:
  190. >In article <"12-May-92.12:17:34.PDT".*.Darin_C._Tomack.OSBU_North@Xerox.com> darin_tomack.osbu_north@XEROX.COM writes:
  191. ...
  192. >
  193. >I have the same question, but with hypercard XCMDs.  My guess is that the
  194. >answer is to create a dummy app in think C that will set up the required
  195. >environment.  However, this seems like a lot of trouble to me...
  196. >
  197. >-mike
  198.  
  199. It isn't that difficult if you have the source code *and* if your XCMD/XFCN
  200. doesn't use any of the Hypercard callback routines. Basically, you can set
  201. up a dummy paramBlock structure pretty easily and call your XCMD/XFCN through
  202. it. I was able to add the code of an XCMD to a TCL project very easily using
  203. this method. It was a quick-and-dirty approach to adding a bunch of existing
  204. XCMD code to an application without having to recode a front end and new
  205. entry calls to the XCMD code. If there is any interest I can post the code,
  206. although like I said, it is just a quick-and-dirty hack.
  207.  
  208. - -- 
  209. "breakpoints" _See_also_ debugging, watch expressions; "debugging breakpoints"
  210.  _See_ breakpoints; "debugging watch expressions" _See_ watch expressions;
  211. "watch expressions" _See_also_ debugging... (Borland C++ manual index)
  212. Paul R. Potts, Software Designer --- potts@itl.itd.umich.edu <--- me!
  213.  
  214. ---------------------------
  215.  
  216. From: gft_robert@gsbacd.uchicago.edu (opcode ranger)
  217. Subject: Translation Manager? (Re: How to use XTND in programs?REFRESH
  218. Organization: ˇˇˇˇ
  219. Date: Tue, 12 May 1992 20:40:38 GMT
  220.  
  221. Anybody know anything about the upcoming 'Translation Manager', and how that
  222. compares/interacts with XTND?
  223.  
  224. Robert
  225.  
  226. - -- 
  227. ==============================================================================
  228. = gft_robert@gsbacd.uchicago.edu * "Out there on a darkened road, the lights =
  229. = are dead and the cars explode" -- "Good Things", Sisters of Mercy           =
  230. ==============================================================================
  231.  
  232. +++++++++++++++++++++++++++
  233.  
  234. From: leonardr@ccs.itd.umich.edu
  235. Organization: Campus Computing Sites, University of Michigan-Ann Arbor
  236. Date: Sun, 17 May 92 20:52:34 GMT
  237.  
  238. In article <1992May12.144038.1@gsbacd.uchicago.edu> gft_robert@gsbacd.uchicago.edu (opcode ranger) writes:
  239. >Anybody know anything about the upcoming 'Translation Manager', and how that
  240. >compares/interacts with XTND?
  241. >
  242.     I don't believe that I am permitted (under NDA) to comment on the 
  243. details of the Translation Manager, but I think it would be permissable
  244. to say thbat XTND is a level beneath the Translation Manager which is a 
  245. higher level "kind o' thing".
  246.  
  247.     Think of the difference as the Translation Manager is similar to 
  248. the Communications toolbox, and XTND is like the Apple Modem Tool.
  249.  
  250.  
  251. - -- 
  252. - -----------------------------------------------------------------------
  253. Leonard Rosenthol          Internet: leonardr@ccs.itd.umich.edu
  254. Director of Advanced Technology   AppleLink: MACgician
  255. Aladdin Systems, inc.          GEnie:     MACgician
  256.  
  257. +++++++++++++++++++++++++++
  258.  
  259. From: nilesinc@well.sf.ca.us (Avi Rappoport)
  260. Date: 18 May 92 23:39:56 GMT
  261. Organization: Whole Earth 'Lectronic Link
  262.  
  263. In <1992May12.144038.1@gsbacd.uchicago.edu> gft_robert@gsbacd.uchicago.edu (opcode ranger) writes:
  264.  
  265. >Anybody know anything about the upcoming 'Translation Manager', and how that
  266. >compares/interacts with XTND?
  267.  
  268. >Robert
  269.  
  270. >-- 
  271. >==============================================================================
  272. >= gft_robert@gsbacd.uchicago.edu * "Out there on a darkened road, the lights =
  273. >= are dead and the cars explode" -- "Good Things", Sisters of Mercy           =
  274. >==============================================================================
  275. According to Apple at the WWDC:
  276.  
  277. The Translation Manager is the top, system-software layer, which will take
  278. care of automatically hooking translation to double-clicking icons (like
  279. Hand-Off), the Open File dialog, Subscribed Stuff, and the Clipboard.  This
  280. is really nifty functionality, and will not require any work by the
  281. programs.
  282.  
  283. The next layer down is the Translation System layer, where the DataViz and
  284. MasterSoft engines work (and XTND if it continues, which is uncertain).
  285. The Translation Manager will arbitrate and work with all Translation
  286. Systems.
  287.  
  288. Lower still are the Translator modules, which talk to the various
  289. translation systems.
  290.  
  291. There will be APIs of some sort for the Save File dialog, but it will not be
  292. automatic like the Open File dialog.
  293.  
  294. (I forgot drag-and-drop, where the TM will improve the highlighting for apps
  295. that can translate documents).
  296.  
  297. Technically, the top level looks really nice, and the demo was good.
  298.  
  299. I continue to worry about the problems of distributing Translation Systems
  300. and Translator modules.  Will everyone have to buy the systems from the
  301. third parties (who Apple has said they will support)?  Will developers have
  302. to license translators or Translation Systems?  How many times will users
  303. end up paying for this?
  304.  
  305. Sigh.
  306. Avi
  307. - -- 
  308. - --  Ask me about EndNote and EndNote Plus Bibliography Makers            --
  309. Avi Rappoport                               2000 Hearst, Berkeley, CA 94709
  310. nilesinc@well.sf.ca.us,                                        510-649-8176
  311. Niles.Assoc on AppleLink                              fax: 510-649-8179                 
  312.  
  313. ---------------------------
  314.  
  315. From: stevem@cs.utexas.edu (Steve Anthony Mariotti)
  316. Subject: Memory Mapping of Video
  317. Date: 17 May 92 17:18:00 GMT
  318. Organization: U Texas Dept of Computer Sciences, Austin TX
  319.  
  320. I noticed something strange the other day while playing around with video
  321. memory.
  322.  
  323. I have an SE/30 with a RasterOps 264/30 (a 24-bit color card) hooked up to a 
  324. Seiko 1445 14" monitor.
  325.  
  326. I was storing values directly into video memory starting at 'ScrnBase.'  I 
  327. had the card set at 8-bit depth (256 colors) and noticed that at each address
  328. starting at ScrnBase, I could store a byte directly to my display.  This 
  329. worked as it should for the first 640 bytes--but at the 641st, the byte values
  330. were no longer storing to the screen (and wrapping to the next line as I 
  331. suspected they would.)  In fact, I had to store 384 extra bytes before the 
  332. line would wrap to the second line on the monitor.  At 'ScrnBase'+#1024, the
  333. second line began.  I verified that this occurred for all lines on the screen
  334. and it seems that a full screen line is 1024 bytes, with only the leftmost
  335. 640 bytes actually displayed on the monitor, followed by 384 bytes which were
  336. writable and readable but displayed nowhere.  384 bytes doesn't seem to 
  337. correspond to anything I can think of.
  338.  
  339. Does anyone know why this occurs and could someone explain to me the cause of
  340. this?  It would seem that all screen memory would be contiguous.  I thought
  341. that perhaps it was related to the fact that my color card is a 24-bit card, 
  342. but that doesn't explain 384, which is certainly not 640*2 which you would 
  343. expect if writing off into memory reserved for 24-bit modes.
  344.  
  345. Oddly, my friend experiences the same behavior on his MacII with an Apple
  346. 8-bit color card (the very first version.)  His screen lines wrap at 1024 byte
  347. intervals in 8-bit monitors settings.  
  348.  
  349. The active display area seems to be left-justified on 1024 byte rows.
  350.  
  351. What is that 'hyperspace' to the right of the active screen area?  Do all Mac's
  352. behave this way at 8-bit depth?  What does the 384 byte leftover stem from?
  353. If anyone can straighten this out for me, I'll be able to sleep again.  This
  354. is something I just can't seem to find information on in any of the reference
  355. manuals I have (IM 1-6, TechNotes 4.0.4, ThinkRef, et.)
  356.  
  357. Even pointers to information which describe this would be helpful.
  358.  
  359. Thanks!
  360.  
  361. Steve Mariotti
  362.  
  363. stevem@cs.utexas.edu -- The University of Texas at Austin -- CS Undergrad(e)
  364.  
  365. +++++++++++++++++++++++++++
  366.  
  367. From: d88-jwa@byse.nada.kth.se (Jon W{tte)
  368. Date: 17 May 92 20:11:52 GMT
  369. Organization: Royal Institute of Technology, Stockholm, Sweden
  370.  
  371. .edu> stevem@cs.utexas.edu (Steve Anthony Mariotti) writes:
  372.  
  373.    I was storing values directly into video memory starting at 'ScrnBase.'  I 
  374.    had the card set at 8-bit depth (256 colors) and noticed that at each
  375.    address starting at ScrnBase, I could store a byte directly to my display.
  376.  
  377. BAD BAD BAD !
  378.  
  379. Look in the UseNet Mac Programmers Guide for advice on this;
  380. it's covered in good detail. (along with handling different
  381. screen depths, SwapMMUMode and other stuff needed)
  382.  
  383.    This worked as it should for the first 640 bytes--but at the 641st, the
  384.    byte values were no longer storing to the screen (and wrapping to the next
  385.    line as I suspected they would.)  In fact, I had to store 384 extra bytes
  386.  
  387. That's because it's easier to add a k per line. Inside Mac V goes into
  388. GREAT detail about how color quickdraw works, and describes the pixMap
  389. structure, which also tells you how many bytes are in a row (not necessarily
  390. the same as the number of pixels in a row) - check it out ! IM VI goes on to
  391. explain 24bit video and other things.
  392.  
  393.    What is that 'hyperspace' to the right of the active screen area?  Do all
  394.    Mac's behave this way at 8-bit depth?  What does the 384 byte leftover
  395.    stem from? If anyone can straighten this out for me, I'll be able to sleep
  396.    again.  This is something I just can't seem to find information on in any
  397.    of the reference manuals I have (IM 1-6, TechNotes 4.0.4, ThinkRef, et.)
  398.  
  399. GO back to reading, do not pass GO, do not collect $200.
  400.  
  401. I promise, this is covered in very good detail in inside mac V and VI.
  402.  
  403. - -- 
  404. h++ - new and improved !
  405.  
  406. You never hide the menu bar. You might go about and make it the same
  407. color as the background, but you never hide the menu bar.      - Tog
  408.  
  409. ---------------------------
  410.  
  411. From: sinteur@ooc.uva.nl (John Sinteur)
  412. Subject: list manager alternative
  413. Date: 18 May 92 14:32:12 GMT
  414. Organization: ooc.uva.nl
  415.  
  416. I've reached the point where the list manager no longer meets my
  417. demands (and, as the tech notes point out, this point should be
  418. reached pretty soon for anybody with serious 'list'like demands.
  419.  
  420. Specifically, I need to resize individual cells - the list manager
  421. limits cells to one uniform size.
  422.  
  423. As a result, I'm about to re-write the listmanager for my own
  424. purpose (hopefully winning some performance because the list manager
  425. 'knows' about my data structures - I expect to loose performance
  426. because I want more features out of it - if I'm lucky, this evens out)
  427.  
  428. Now the question: has anybody already done this? If so, are you proud
  429. enough of it to show me your code? Any caveats you want to share?
  430.  
  431. - -John
  432.  
  433.  
  434. +++++++++++++++++++++++++++
  435.  
  436. From: Joe.Francis@dartmouth.edu (Joe Francis)
  437. Date: 18 May 92 17:45:56 GMT
  438. Organization: Dartmouth College, Hanover, NH
  439.  
  440. In article <29193@slice.ooc.uva.nl>
  441. sinteur@ooc.uva.nl (John Sinteur) writes:
  442.  
  443. > Now the question: has anybody already done this? If so, are you proud
  444. > enough of it to show me your code? Any caveats you want to share?
  445.  
  446. I haven't done it so I can't share code, but I do have a caveat,
  447. nontheless.
  448.  
  449. I suggest you give the calling code some access to any scroll bars (or
  450. other controls, for that matter) that your list code creates.  
  451.  
  452. A couple of years back, I wrote code to let you create panes within
  453. windows and to be able to treat all of these panes as if they had there
  454. own coordinate system.  If you do this, you can never call
  455. "DrawControls", because all the controls in different panes are in
  456. different coordinate systems and most of them will show up in the wrong
  457. place.  Instead each pane keeps a list of it's controls and call
  458. Draw1Control, after setting up the coordinate system.  [I recently
  459. started playing with TCL and discovered it has a system for doing this
  460. nearly identical to my own - I guess that's a good sign...].
  461.  
  462. One problem with this is that the list manager draws that darn scroll
  463. bar whenever it wants (and when it wants isn't always at a sensible
  464. time, especialy under system 6).  Combine that with the above "pane"
  465. scenario and you get a random looking scroll bar popping up somewhre in
  466. the window.  If you provide the user of your code with some way to
  467. enable/disable drawing that scroll bar, you can avoid this problem.
  468.  
  469. Has anyone had this problem with TCL?  From my glancing at the code it
  470. looks like they have not defended against it either (the old "he who
  471. uses the list manager gets what he deserves" stratagy - can't say that
  472. I disagree).
  473.  
  474. ---------------------------
  475.  
  476. From: PNCSPPC@CCVAX1.CC.NCSU.EDU
  477. Subject: Any small sample code in 'C'?
  478. Date: 16 May 92 04:23:29 GMT
  479.  
  480.  
  481. +++++++++++++++++++++++++++
  482.  
  483. From: ppcalver@.eos.ncsu.edu (PHILIP P CALVERT)
  484. Date: 16 May 92 18:26:17 GMT
  485. Organization: NCSU Project Eos
  486.  
  487.  
  488. Hello!  Anyone out there know of any public domain 'C' code that's
  489. available for downloading, and which would be good for a beginner to
  490. tinker around with?  I want to learn 'C' but I don't want to type in those
  491. stupid little programs, that don't do anything useful, one commonly
  492. finds in books on how to learn 'C'.  Preferably, the code should be in
  493. ANSI 'C' and be highly portable (or be written specifically for THINK C).
  494. Thanks in advance for any help.
  495.  
  496. Phil Calvert
  497.  
  498. preferred address for replies:
  499. <Bitnet: pncsppc@ncsuvax.bitnet / Internet: pncsppc@ccvax1.cc.ncsu.edu>
  500.  
  501. +++++++++++++++++++++++++++
  502.  
  503. From: ubacw00@ucl.ac.uk (Mick Farmer)
  504. Date: 18 May 92 11:39:48 GMT
  505. Organization: Bloomsbury Computing Consortium
  506.  
  507. Hi,
  508.  
  509. Phil Calvin is interested in a collection of ANSI C programs
  510. to help with learning C.  Both my text book "The Intensive C
  511. Course" and a video production of the same title contain numerous
  512. examples, short and hopefully pertinent.  These programs and files
  513. are available electronically.  Just let me know.
  514.  
  515. Regards,
  516.  
  517. Mick
  518.  
  519. ---------------------------
  520.  
  521. From: felciano@medisg.stanford.edu (Ramon M. Felciano)
  522. Subject: $$: Where/how do I find a consultant?
  523. Date: 18 May 92 19:29:56 GMT
  524. Organization: SUMMIT (Stanford Univ. Medical Media and Information
  525.  
  526.  
  527. Hi!
  528.  
  529. We're thinking about expanding one of our Hypercard-based courseware
  530. projects into an application, probably MacApp or THINK C based. This is
  531. still a while off, but I need to figure out how much money to budget for.
  532.  
  533. I realize that there may be a more appropriate group to post this in, but
  534. I'm not sure which one it is. The biz one looked pretty sparse, so I
  535. thought I'd throw this out here.  I have no idea what to budget for, as
  536. I've run into folks charging from $40 to $100 an hour. 
  537.  
  538. The project will be fixed-term (1 year) working full-time, either in our
  539. lab at Stanford or at a separate site (or both). Development will
  540. Object-Oriented, and will involve Quicktime, System 7 support, some
  541. cross-platform work (e.g. importing images), and database knowledge.
  542. Strong User Interface knowledge is a plus, although I'll be doing most of
  543. the interface design.
  544.  
  545. Obviously, benefits will need to be considered as well.
  546.  
  547. Can anyone give me some feedback on this, or tell me where I can get more
  548. information?
  549.  
  550. Thanks!
  551.  
  552. Ramon M. Felciano
  553. Associate Director, SUMMIT
  554. Stanford University Medical Media and Information Technologies
  555.  
  556. +++++++++++++++++++++++++++
  557.  
  558. From: mspace@netcom.com (Brian Hall)
  559. Date: Mon, 18 May 92 22:37:23 GMT
  560. Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
  561.  
  562. felciano@medisg.stanford.edu (Ramon M. Felciano) writes:
  563.  
  564.  
  565. >Hi!
  566.  
  567. >We're thinking about expanding one of our Hypercard-based courseware
  568. >projects into an application, probably MacApp or THINK C based. This is
  569. >still a while off, but I need to figure out how much money to budget for.
  570.  
  571. [stuff deleted]
  572.  
  573. >Can anyone give me some feedback on this, or tell me where I can get more
  574. >information?
  575.  
  576. Try the "Macintosh Services Directory" from the MZ Group.  I think APDA
  577. sells it, or you could try an Apple dealer, or call 800-927-1100x400
  578. and order it direct.  It contains listings of hundreds of consultants,
  579. development companies, etcs.
  580.  
  581.  
  582. - -- 
  583.  
  584.  \ | /   | Brian Hall                 mspace@netcom.com
  585.  - : -   | Mark/Space Softworks       Applelink: markspace
  586.   /|\    |                            America Online: MarkSpace
  587.  |-+-|   |
  588. /-\|/-\  | People don't kill people, toasters kill people.
  589.  
  590. ---------------------------
  591.  
  592. From: jstevens@crick.ssctr.bcm.tmc.edu (Jason Philip Stevens)
  593. Subject: PBControl / MacTCP
  594. Date: 18 May 1992 20:46:28 GMT
  595. Organization: Baylor College of Medicine, Houston, Tx
  596.  
  597.  
  598. Another wierd case <sigh>.  In using MacTCP, I make the call
  599. PBControl(&pb, TRUE).  pb.ioCompletion = &iocomplete.  iocomplete is a
  600. function defined in strict type accordance with the template that
  601. comes with MacTCP.  The problem is that while the PBControl call
  602. returns, it never seems to call iocomplete.  Ideas?  Thanks in advance...
  603.  
  604. - -Jason Stevens
  605.  jstevens@bcm.tmc.edu
  606. - -- 
  607. Jason Stevens            Phone: (713) 798-7370
  608. Network User Services        FAX: (713) 798-6675
  609. Baylor College of Medicine    InterNet: jstevens@bcm.tmc.edu
  610.  
  611. +++++++++++++++++++++++++++
  612.  
  613. From: resnick@cogsci.uiuc.edu (Pete Resnick)
  614. Organization: University of Illinois at Urbana
  615. Date: Mon, 18 May 1992 21:38:56 GMT
  616.  
  617. jstevens@crick.ssctr.bcm.tmc.edu (Jason Philip Stevens) writes:
  618.  
  619. >pb.ioCompletion = &iocomplete
  620.            ^
  621. What is that "&" doing there? That's possibility 1.
  622.  
  623. >PBControl(&pb, TRUE).
  624.  
  625. What is this returning to you? Are you sure that it is returning noErr?
  626. If the ioCRefNum in the pb is wrong, it's gonna complain. That's
  627. possibility 2.
  628.  
  629. And what sort of call are you making? A call to TCPPassiveOpen with a
  630. 0 (i.e. infinite) timeout will not complete until someone makes a
  631. connection. That's possibility 3.
  632.  
  633. Anyone else?
  634.  
  635. pr
  636. - --
  637. Pete Resnick             (...so what is a mojo, and why would one be rising?)
  638. Graduate assistant - Philosophy Department, Gregory Hall, UIUC
  639. System manager - Cognitive Science Group, Beckman Institute, UIUC
  640. Internet: resnick@cogsci.uiuc.edu
  641.  
  642. +++++++++++++++++++++++++++
  643.  
  644. From: jstevens@crick.ssctr.bcm.tmc.edu (Jason Philip Stevens)
  645. Date: 18 May 1992 22:20:54 GMT
  646. Organization: Baylor College of Medicine, Houston, Tx
  647.  
  648.  
  649. In article <1992May18.213856.3666@news.cso.uiuc.edu>, resnick@cogsci.uiuc.edu (Pete Resnick) writes:
  650. |> jstevens@crick.ssctr.bcm.tmc.edu (Jason Philip Stevens) writes:
  651. |> 
  652. |> >pb.ioCompletion = &iocomplete
  653. |>            ^
  654. |> What is that "&" doing there? That's possibility 1.
  655.  
  656. Right.  Too much late-night programming.  :)
  657.  
  658. |> >PBControl(&pb, TRUE).
  659. |> 
  660. |> What is this returning to you? Are you sure that it is returning noErr?
  661. |> If the ioCRefNum in the pb is wrong, it's gonna complain. That's
  662. |> possibility 2.
  663. |> And what sort of call are you making? A call to TCPPassiveOpen with a
  664. |> 0 (i.e. infinite) timeout will not complete until someone makes a
  665. |> connection. That's possibility 3.
  666.  
  667. I'm calling TCPCreate, but asynchronously.  Thus, according to IM vol II,
  668. a return of noErr (which I get), just means that the call was successfully 
  669. placed on the queue.  I'm pretty sure that the ioCRefNum is right (I know that
  670. the call to OpenDriver completes with noErr and that it sets the value of
  671. a variable to a # between -1 and -32;  is there a way aside from that to know
  672. that it's "right"?).  Since last posting I have discovered that a constant polling
  673. of ioResult yields a "busy" that never seems to end...  it goes on for as long
  674. as I care to leave it (which is obviously too long :).
  675.  
  676. If any other ideas spring forth, please e-mail to save bandwidth.  I don't need
  677. program problems _and_ flames all at once...
  678.  
  679. - -Jason Stevens
  680.  jstevens@bcm.tmc.edu
  681.  
  682.  
  683. - -- 
  684. Jason Stevens            Phone: (713) 798-7370
  685. Network User Services        FAX: (713) 798-6675
  686. Baylor College of Medicine    InterNet: jstevens@bcm.tmc.edu
  687.  
  688. ---------------------------
  689.  
  690. From: nyang@Bonnie.ICS.UCI.EDU
  691. Subject: How to update the whole screen???
  692. Date: 13 May 92 09:07:59 GMT
  693.  
  694. Hi all,
  695.  
  696.  
  697.    I am just a beginner at programming the Macintosh so if this is a really
  698. easy problem, don't flame me!   My problem is that I have created a color
  699. grafPort of the same dimension as the screen, did some drawing to it, and then
  700. disposed it.  Yet, nothing gets updated.  So, I add:
  701.  
  702.    InvalRect(thePort^.portRect);
  703.  
  704. but then the program crashed.  I know there is got to be some way to update
  705. everything on the screen.  Hope you Mac gurues out there can help me out.
  706.  
  707. Thank you very much in advance!
  708.  
  709. Nick Yang
  710. nyang@bonnie.ics.uci.edu
  711.  
  712. +++++++++++++++++++++++++++
  713.  
  714. From: jcav@quads.uchicago.edu (JohnC)
  715. Date: Wed, 13 May 1992 15:22:18 GMT
  716. Organization: The Royal Society for Putting Things on Top of Other Things
  717.  
  718. In article <9205130207.aa21922@Bonnie.ics.uci.edu> nyang@Bonnie.ICS.UCI.EDU writes:
  719. >   I am just a beginner at programming the Macintosh so if this is a really
  720. >easy problem, don't flame me!   My problem is that I have created a color
  721. >grafPort of the same dimension as the screen, did some drawing to it, and then
  722. >disposed it.  Yet, nothing gets updated.  So, I add:
  723. >
  724. >   InvalRect(thePort^.portRect);
  725. >
  726. >but then the program crashed.  I know there is got to be some way to update
  727. >everything on the screen.  Hope you Mac gurus out there can help me out.
  728.  
  729. Well, your program crashed because _InvalRect (and _InvalRgn) only work on
  730. windows.  They manipulate the updateRgn, which plain grafPorts don't
  731. have.
  732.  
  733. Here's some code to use to cause the screen(s) to be completely redrawn:
  734.  
  735. FUNCTION OpenGlobalPort (storage: Ptr; inColor: boolean): GrafPtr;
  736. BEGIN
  737.  IF inColor THEN
  738.   OpenCPort(CGrafPtr(storage))
  739.  ELSE
  740.   OpenPort(GrafPtr(storage));
  741.  CopyRgn(GetGrayRgn, GrafPtr(storage)^.visRgn);
  742.  GrafPtr(storage)^.portRect := GrafPtr(storage)^.visRgn^^.rgnBBox;
  743.  OpenGlobalPort := GrafPtr(storage);
  744. END; { FUNCTION OpenGlobalPort }
  745.  
  746.  PROCEDURE RepaintScreens;
  747.   VAR
  748.    oldPort, bigPort: GrafPtr;
  749.    bigPortRec: GrafPort;
  750.  BEGIN
  751. {part 1}
  752.   GetPort(oldPort);
  753.   bigPort := OpenGlobalPort(@bigPortRec, false);
  754.   PaintRgn(bigPort^.clipRgn);
  755.   SetPort(oldPort);
  756.   ClosePort(bigPort);
  757. {part 2}
  758.   DrawMenuBar;
  759. {part 3}
  760.   PaintBehind(WindowPeek(FrontWindow), GetGrayRgn);
  761.  END; { PROCEDURE RepaintScreens }
  762.  
  763.  
  764. Comments:
  765.  
  766. Part 1 is there to take care of those wierd cases where the area past the
  767. rounded corners of the screen has been "contaminated".  I couldn't think of
  768. a better universal way to draw past the edge of the grayRgn.
  769. Part 2 takes care of the menu bar.
  770. Part 3 is the magic that takes care of all windows, plus the Finder's
  771. desktop.  See the Window Manager chapter of IM-I for more about how/why this
  772. works.
  773.  
  774. - -- 
  775. John Cavallino                  |  EMail: jcav@midway.uchicago.edu
  776. University of Chicago Hospitals |         John_Cavallino@uchfm.bsd.uchicago.edu
  777. Office of Facilities Management | USMail: 5841 S. Maryland Ave, MC 0953
  778. B0 f++ c+ g+ k s++ e+ h- pv     |         Chicago, IL  60637
  779.  
  780. +++++++++++++++++++++++++++
  781.  
  782. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  783. Date: 14 May 92 14:50:07 +1200
  784. Organization: University of Waikato, Hamilton, New Zealand
  785.  
  786. In article <9205130207.aa21922@Bonnie.ics.uci.edu>, nyang@Bonnie.ICS.UCI.EDU writes:
  787. > My problem is that I have created a color
  788. > grafPort of the same dimension as the screen, did some drawing to it, and then
  789. > disposed it.  Yet, nothing gets updated.
  790.  
  791. I do this kind of messing about frequently myself. To save putting a call
  792. into all my test programs do the screen refreshing, I wrote an FKEY to solve
  793. the problem once and for all. I'm enclosing it in this message; paste it into
  794. your System file with ResEdit, and then you can just press command-shift-9 (or
  795. you can give it another number, if you prefer) to refresh the screen at any
  796. time.
  797.  
  798. (This file must be converted with BinHex 4.0)
  799.  
  800. So who says .hqx files can't be a valid contribution to a discussion?
  801.  
  802. :-)
  803.  
  804. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  805. Computer Services Dept                     fax: +64-7-838-4066
  806. University of Waikato            electric mail: ldo@waikato.ac.nz
  807. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  808.  
  809. +++++++++++++++++++++++++++
  810.  
  811. From: mauser@intercon.com (Richard Chandler)
  812. Date: 16 May 92 03:08:13 GMT
  813. Organization: InterCon Systems Corporation
  814.  
  815. In article <1992May14.145007.8097@waikato.ac.nz>, ldo@waikato.ac.nz (Lawrence 
  816. D'Oliveiro, Waikato University) writes:
  817. > In article <9205130207.aa21922@Bonnie.ics.uci.edu>, 
  818. nyang@Bonnie.ICS.UCI.EDU 
  819. > writes:
  820. > > My problem is that I have created a color
  821. > > grafPort of the same dimension as the screen, did some drawing to it, and
  822. > > then disposed it.  Yet, nothing gets updated.
  823. > I do this kind of messing about frequently myself. To save putting a call
  824. > into all my test programs do the screen refreshing, I wrote an FKEY to solve
  825. > the problem once and for all. I'm enclosing it in this message; paste it
  826. > into your System file with ResEdit, and then you can just press command-
  827. > shift-9 (or you can give it another number, if you prefer) to refresh the
  828. > screen at any time.
  829.  
  830. Did you just create a GrafPort, or did you create a window?  You can actually 
  831. have GrafPorts and draw into them without a window.  If you dispose of a 
  832. GrafPort, there's no reason for the WindowManager to invalidate any of the 
  833. WindowManagerPort.
  834.  
  835. By the way, I once did a little test routine that would set the port to the 
  836. WindowManagerPort (a no-no right there) invert the invalid region twice (to 
  837. leave it normal) and set the port back.  This was handy for figuring out what 
  838. the invalid region actually was (And to find out that I was calling 
  839. BeginUpdate for the wrong windowPtr....).  It was educational.  Call it right 
  840. after BeginUpdate.
  841.  
  842. - --
  843. Praying for the day when "Sex Scandal" is an oxymoron.
  844. "Ride a motorcycle.  Save Gas, Oil, Rubber, Steel, Aluminum, Parking Spaces,
  845.  The Environment, and Money.  Plus, you get to wear all the leather you want!"
  846.  Rich Chandler, DoD #296
  847.  
  848. ---------------------------
  849.  
  850. From: dank@calvin.usc.edu (Dan King)
  851. Subject: Color icons in menus?  How?
  852. Date: 26 Apr 92 10:49:52 GMT
  853. Organization: University of Southern California, Los Angeles, CA
  854.  
  855.  
  856. Howdy, y'all.  I've got a quick question that I can't seem to
  857. resolve.  How does one put color icons into menus?  I've seen
  858. this done (heck, even the Finder does it), and I know how to
  859. put black and white icons in, but color escapes me.  (I know it's
  860. going to be something really simple that I missed, but hopefully
  861. this will save me a few hours of work...)
  862.  
  863. For reference, I'm working in MacApp 3.0.
  864.  
  865. Thanks.
  866. dank
  867.  
  868. +++++++++++++++++++++++++++
  869.  
  870. From: jpugh@apple.com (Jon Pugh)
  871. Date: 6 May 92 19:22:37 GMT
  872. Organization: Apple Co.
  873.  
  874. In article <kvmjtgINNlu4@calvin.usc.edu>, dank@calvin.usc.edu (Dan King) writes:
  875. > Howdy, y'all.  I've got a quick question that I can't seem to
  876. > resolve.  How does one put color icons into menus?  I've seen
  877. > this done (heck, even the Finder does it), and I know how to
  878. > put black and white icons in, but color escapes me.  (I know it's
  879. > going to be something really simple that I missed, but hopefully
  880. > this will save me a few hours of work...)
  881.  
  882. Anywhere you use an ICON resource, if there is a cicn resource of the same
  883. ID, then it will be used instead.  Pretty tough, huh?
  884.  
  885. Jon
  886.  
  887. +++++++++++++++++++++++++++
  888.  
  889. From: wooly@pine.circa.ufl.edu (LAMBERT)
  890. Date: 12 May 92 19:17:35 GMT
  891. Organization: University of Florida  (ufl.edu)
  892.  
  893. In article <24526@goofy.Apple.COM>, jpugh@apple.com (Jon Pugh) writes...
  894. >In article <kvmjtgINNlu4@calvin.usc.edu>, dank@calvin.usc.edu (Dan King) writes:
  895. >> 
  896. >> 
  897. >> Howdy, y'all.  I've got a quick question that I can't seem to
  898. >> resolve.  How does one put color icons into menus?  I've seen
  899. >> this done (heck, even the Finder does it), and I know how to
  900. >> put black and white icons in, but color escapes me.  (I know it's
  901. >> going to be something really simple that I missed, but hopefully
  902. >> this will save me a few hours of work...)
  903. >Anywhere you use an ICON resource, if there is a cicn resource of the same
  904. >ID, then it will be used instead.  Pretty tough, huh?
  905.  
  906. ok, well, how about color icons in the menubar, ala the apple icon?
  907. will this require writing an MDEF, and if so, can someone point me
  908. in the right direction for that? (I have IM I-V, but not VI)
  909. Is it possible to, say, change a character in the Chicago font to 
  910. simulate this?  These are probably silly questions, but I'm inter-
  911. ested, so don't be too harsh.
  912.  
  913.  
  914. - --------
  915. Mike Lambert
  916. WOOLY@pine.circa.ufl.edu - Internet
  917. WOOLY@UFPINE - BITNET
  918.  
  919. +++++++++++++++++++++++++++
  920.  
  921. From: leonardr@ccs.itd.umich.edu
  922. Organization: Campus Computing Sites, University of Michigan-Ann Arbor
  923. Date: Sun, 17 May 92 20:49:25 GMT
  924.  
  925. In article <35498@uflorida.cis.ufl.edu> wooly@pine.circa.ufl.edu writes:
  926. >ok, well, how about color icons in the menubar, ala the apple icon?
  927. >will this require writing an MDEF, and if so, can someone point me
  928. >in the right direction for that? (I have IM I-V, but not VI)
  929. >Is it possible to, say, change a character in the Chicago font to 
  930. >simulate this?  These are probably silly questions, but I'm inter-
  931. >ested, so don't be too harsh.
  932. >
  933.     Actually this would require either writing an MBDF (MenuBar Defination)
  934. or patching a trap (like _DrawString).
  935.  
  936.  
  937. - -- 
  938. - -----------------------------------------------------------------------
  939. Leonard Rosenthol          Internet: leonardr@ccs.itd.umich.edu
  940. Director of Advanced Technology   AppleLink: MACgician
  941. Aladdin Systems, inc.          GEnie:     MACgician
  942.  
  943. ---------------------------
  944.  
  945. From: flemmon@Auspex.COM (Frank Lemmon)
  946. Subject: "Inside Macintosh" source recommendations?
  947. Date: 5 May 92 22:21:25 GMT
  948. Organization: Auspex Systems, Santa Clara
  949.  
  950.  
  951. Does anyone have any suggestions for obtaining new "Inside Macintosh"
  952. volumes at a good price?  I would like to find a book store in the San
  953. Jose, CA area that has these books at good prices... Or if there is a
  954. way to purchase the set at a discount through a mail order house or
  955. whatever, I'd like to find out about that...
  956.  
  957. "Or is $20 - 25 a pop the only way to get MacEducated?"
  958.  
  959. Thanks in advance,
  960.  
  961. Frank Lemmon
  962. flemmon@auspex.com
  963.  
  964. +++++++++++++++++++++++++++
  965.  
  966. From: larson@tessa.iaf.uiowa.edu (dave larson)
  967. Date: 7 May 92 16:28:52 GMT
  968. Organization: University of Iowa, Image Analysis Facility
  969.  
  970. Ditto on that note...!
  971.  
  972. - --
  973. Dave Larson                       | 319-335-7900
  974. University of Iowa, Image Analysis Facility    | 70 EMRB
  975. larson@tessa.iaf.uiowa.edu               | Iowa City, IA 52242
  976.  
  977. +++++++++++++++++++++++++++
  978.  
  979. From: Jeremiah.Blatz@dartmouth.edu (Jeremiah Blatz)
  980. Date: 17 May 92 23:06:36 GMT
  981. Organization: Dartmouth College, Hanover, NH
  982.  
  983. In article <12645@auspex-gw.auspex.com>
  984. flemmon@Auspex.COM (Frank Lemmon) writes:
  985.  
  986. > Does anyone have any suggestions for obtaining new "Inside Macintosh"
  987. > volumes at a good price?
  988.  
  989. If you have a CD-ROM, you can join APDA and get a subscription to
  990. develop for ~$25 (4 quarterly issues). This not only includes Inside
  991. Mac's 1-6 (electronicly) but also the Tech. Notes and other stuff
  992. (again, all on the CD).
  993.  
  994. Jeremiah
  995.  
  996. ---------------------------
  997.  
  998. From: mike@zorch.SF-Bay.ORG (Mike Smithwick)
  999. Subject: How to tell if a printer supports Postscript?
  1000. Organization: SF-Bay Public-Access Unix
  1001. Date: Thu, 14 May 1992 20:00:27 GMT
  1002.  
  1003. []
  1004.  
  1005. The subject says it all.
  1006.  
  1007. How can I tell if the printer I am writing to supports Postscript?
  1008.  
  1009. mike
  1010.  
  1011. - -- 
  1012. "There is no problem too big that can't be solved with high explosives"-Rush
  1013.  
  1014. Mike Smithwick - ames!zorch!mike
  1015.  
  1016.  
  1017. +++++++++++++++++++++++++++
  1018.  
  1019. From: reed@snake.tc.cornell.edu (Mike Reed)
  1020. Organization: Cornell National Computer Facility
  1021. Date: Thu, 14 May 1992 23:54:00 GMT
  1022.  
  1023. First off, why do you want to know if a printer supports postscript?
  1024. According to IM, you should NEVER assume anything about printing, NOR
  1025. should you try to do anything fancy...The problem is that you really
  1026. cannot tell if the printer you are going to is postscript, unless you have
  1027. a complete list of all of Apple's wDevs that they have issued and what
  1028. printers were issued to what wDevs and whether or not they support 
  1029. Postscript.  Let me tell you, the number cannot be too small because I
  1030. got two wDevs for printer drivers I wrote last summer and they were in the
  1031. 130-140 range.  Now either Apple blocked off a bunch for their own internal
  1032. use, or there are a LOT of issued wDevs.  Best bet it you REALLY need 
  1033. to send some specific postscript command (and I personally would frown on
  1034. it, because my printer driver would barf in your applications face) is to
  1035. limit yourself only to the wDev for a LaserWriter.  Besides, don't forget
  1036. printers like the Personal Laserwriters (not all are postscript.)  Overall,
  1037. it is generally a BAD idea to do this.
  1038.  
  1039. PS. If you really want to know, the wDev can be obtained from the Print
  1040. Record returned from prValidate or prOpenDoc.  Look in IM2 (I think).
  1041.  
  1042. - -Michael
  1043.  
  1044. - ---------------------------------------------------------------------------
  1045. Michael G. Reed                                (reed@Theory.TC.Cornell.EDU)
  1046.  
  1047. Cornell National Supercomputer Facility      (Technology Integration Group)
  1048. Engineering And Theory Center, Room 747
  1049. Hoy Road                                              (607)/254-8806 [work]
  1050. Ithaca, New York 14853-3801  (USA)                    (607)/253-7962 [home]
  1051. - ---------------------------------------------------------------------------
  1052. DISCLAIMER: The views expressed above are not those of my employer.
  1053. - ---------------------------------------------------------------------------
  1054.  
  1055. +++++++++++++++++++++++++++
  1056.  
  1057. From: orpheus@reed.edu (P. Hawthorne)
  1058. Date: 15 May 92 21:53:29 GMT
  1059. Organization: Reed College, Portland OR
  1060.  
  1061.  
  1062.   reed@theory.tc.cornell.edu (Michael Reed) writes:
  1063. : First off, why do you want to know if a printer supports postscript?
  1064. : According to IM, you should NEVER assume anything about printing, NOR
  1065. : should you try to do anything fancy...
  1066.  
  1067.     Written like a true unbeliever. PostScript is definitely worth
  1068. addressing specifically, even to the point of ignoring other printers in
  1069. some cases. Heresay to some, reality to others.
  1070.     For your average printing application, make no assumption you need not
  1071. make. Do everything in your power to work on everything, but sometimes, you
  1072. just gotta do what you just gotta do.
  1073.     Check into the picComments and use them wherever possible. If a printer
  1074. driver supports those, you should support them. Make an effort.
  1075.  
  1076.     If you need to image serious graphics that cannot be imaged in
  1077. QuickDraw without rewriting large chunks of PostScript, using PostScript
  1078. can be easily forgiven.
  1079.     It is not unknown in the world of PostScript illustration packages to
  1080. assume that any printer chosen is a genuine PostScript device, and that any
  1081. others are utterly beside the point. Apple and the Macintosh owe much of
  1082. their survival to such "fancy" things.
  1083.     Remember however, by doing such a thing you are cutting your market
  1084. down dramatically in order to radically improve the product for the
  1085. remaining segment. In the ideal world, you would cope with both segments.
  1086.  
  1087.  
  1088. : The problem is that you really cannot tell if the printer you are going
  1089. : to is postscript....
  1090.  
  1091.     You can get information about the chosen printer from within the
  1092. system file, and confirm that it has an entity type of laserwriter. The
  1093. original poster, or anyone else, could bug me to get out the specifics.
  1094. Anyone else remember?
  1095.  
  1096.     Theus
  1097.     orpheus@reed.edu
  1098.  
  1099. +++++++++++++++++++++++++++
  1100.  
  1101. From: reed@snake.tc.cornell.edu (Mike Reed)
  1102. Organization: Cornell National Computer Facility
  1103. Date: Fri, 15 May 1992 23:18:00 GMT
  1104.  
  1105. [deleted]
  1106.  
  1107. >     You can get information about the chosen printer from within the
  1108. > system file, and confirm that it has an entity type of laserwriter. The
  1109. > original poster, or anyone else, could bug me to get out the specifics.
  1110. > Anyone else remember?
  1111. >
  1112. >    Theus
  1113. >    orpheus@reed.edu
  1114.  
  1115.     You make the very points I was trying to convey (so it didn't really
  1116. come out that way...).  The only problem is that I beg to differ with
  1117. your last point.  You can check for a SPECIFIC PRINTER DRIVER, but not a
  1118. specific printer.  Even then, you need the wDev list because this is the
  1119. only relyable identifying mark.  Pretty much all of the rest of the
  1120. Print Record can be anything (there is NO set standard...Apple
  1121. recommends one that they themselves to do religously follow).
  1122.  
  1123. - -Michael
  1124.  
  1125. - ---------------------------------------------------------------------------
  1126. Michael G. Reed                                (reed@Theory.TC.Cornell.EDU)
  1127.  
  1128. Cornell National Supercomputer Facility      (Technology Integration Group)
  1129. Engineering And Theory Center, Room 747
  1130. Hoy Road                                              (607)/254-8806 [work]
  1131. Ithaca, New York 14853-3801  (USA)                    (607)/253-7962 [home]
  1132. - ---------------------------------------------------------------------------
  1133. DISCLAIMER: The views expressed above are not those of my employer.
  1134. - ---------------------------------------------------------------------------
  1135.  
  1136. +++++++++++++++++++++++++++
  1137.  
  1138. From: marshall@sdd.hp.com (Marshall Clow)
  1139. Date: 18 May 92 18:24:31 GMT
  1140. Organization: Hewlett Packard San Diego Printer Division
  1141.  
  1142. In article <1992May15.231800.28423@tc.cornell.edu>, reed@snake.tc.cornell.edu (Mike Reed) writes:
  1143. > [deleted]
  1144. > >     You can get information about the chosen printer from within the
  1145. > > system file, and confirm that it has an entity type of laserwriter. The
  1146. > > original poster, or anyone else, could bug me to get out the specifics.
  1147. > > Anyone else remember?
  1148. > >
  1149. > >    Theus
  1150. > >    orpheus@reed.edu
  1151.  
  1152. How about getting the PACK resource (-4096) and checking the flags
  1153. (longword at offset $C) Bit 31 determines if it's an AppleTalk device,
  1154. Bit 30 says if it uses PAP, Bit 29 says if it's postscript, and so on.
  1155. Documented (partially) in IM-IV, pp217, and in some very old MacTutor
  1156. articles.
  1157. Otherwise, you have to check the wdev in the print record, and determine
  1158. that the high byte is 3. This identifies the LaserWriter driver, which
  1159. _most_ postscript printers use.
  1160.  
  1161. Marshall Clow
  1162. Hewlett-Packard
  1163. marshall@sdd.hp.com
  1164.  
  1165. ---------------------------
  1166.  
  1167. End of C.S.M.P. Digest
  1168. **********************
  1169.